import request from '@/utils/request';

// 登录 - username, password
export function login(data){
  return request({
    url: '/login',
    headers: {
      useToken: false
    },  
    method: 'post',
    data
  })
}

// 注册
/**
 * 
 * @param {
 *    userName, nickName, password
 * } data 
 * @returns 
 */
export function register(data){
  return request({
    url: '/system/user/register',
    method: 'post',
    data
  })
}

// 获取登录用户的个人信息
export function getCurrentUserInfo(){
  return request({
    url: '/getInfo',
    method: 'get'
  });
}

// 获取用户列表
/*
  userName, nickName, phonenumber, status, userType
  pageSize, pageNumber
*/
export function getUserList(data){
  return request({
    url: '/system/user/list',
    method: 'post',
    data
  })
}
// 根据id获取用户信息
/**
 * 
 * @param { userId } params 
 * 
 * @returns 
 */
export function getUserById(params){
  return request({
    url: '/system/user/getUserInfoByUserId',
    method: 'post',
    params
  })
}
// 根据id获取用户授权角色
export function getUserRole(userId){
  return request({
    url: `/system/user/authRole/${userId}`,
    method: 'get'
  })
}
// 新增用户
/**
 * 
 * @param { ? } data 
 * @returns 
 */
export function addUser(data){
  return request({
    url: '/system/user/save',
    method: 'post',
    data
  })
}
// 修改用户
/**
 * 
 * @param { ? } data 
 * @returns 
 */
export function setUser(data){
  return request({
    url: '/system/user',
    method: 'put',
    data
  })
}
// 删除用户
/**
 * 
 * @param {userId} params 
 * @returns 
 */
export function delUser(params){
  return request({
    url: '/system/user/deleteUserById',
    // url: `/system/user/${userId}`,
    method: 'post',
    params
  })
}
// 重置密码
/**
 * 
 * @param { ? } data 
 * @returns 
 */
export function resetPassword(data){
  return request({
    url: '/system/user/resetPwd',
    method: 'put',
    data
  })
}
// 修改密码
export function setPassword(data){
  return request({
    url: '/system/user/modify-pwd',
    method: 'put',
    data
  })
}
// 修改用户状态
/**
 * 
 * @param { ? } data 
 * @returns 
 */
export function setStatus(data){
  return request({
    url: '/system/user/changeStatus',
    method: 'put',
    data
  })
}
// 查询模态列表
export function getModals(){
  return request({
    url: '/system/modal/list',
    method: 'get'
  })
}
// 切换模态
/**
 * 
 * @param {modalCode} data 
 * @returns 
 */
export function changeModal(data){
  return request({
    url: '/system/user/switch-modal',
    method: 'put',
    data
  })
}
